package marketplace.jpa.entities;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

import marketplace.jpa.datas.DataUsuario;
import marketplace.jpa.datas.Estado;


@Entity
public class Usuario implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id	
	@Column(name="mail", nullable=false, length=100, unique=true)	
	private String mail;
	private String nick;
	private String nomCompleto;
	private String apellido;
	private String pass;
	private String movil;
	private char sexo;
	private String estado;
	private String fechaNto;
	
	
	/////////////////// CONSTRUCTORES /////////////////////////
	

	public Usuario() {
		super();
		
	}
	
	public Usuario(String nick, String mail, String nomCompleto, String apellido, String pass, String fechaNto, String movil, char sexo) {
		super();
		this.nick = nick;
		this.mail = mail;
		this.nomCompleto = nomCompleto;
		this.apellido = apellido;
		this.pass = pass;
		this.fechaNto = fechaNto;
		this.movil = movil;
		this.sexo = sexo;
		this.estado = Estado.ACTIVO.toString();
	}
	

	public Usuario(DataUsuario du) throws Exception {
		super();
		this.nick = du.getNick();
		this.mail = du.getMail();
		this.nomCompleto = du.getNomCompleto();
		this.apellido = du.getApellido();
		this.pass = du.getPass();
		this.fechaNto = du.getFechaNto();
		this.movil = du.getMovil();
		this.sexo = du.getSexo();
		this.estado = du.getEstado().toString();
	}	
	
	
	/////////////////// GETERS & SETERS /////////////////////////


	public String getMail() {
		return mail;
	}
	public void setMail(String mail) {
		this.mail = mail;
	}
	public String getNick() {
		return nick;
	}
	public void setNick(String nick) {
		this.nick = nick;
	}	
	public String getNomCompleto() {
		return nomCompleto;
	}
	public void setNomCompleto(String nomCompleto) {
		this.nomCompleto = nomCompleto;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
	public String getMovil() {
		return movil;
	}
	public void setMovil(String movil) {
		this.movil = movil;
	}
	public char getSexo() {
		return sexo;
	}
	public void setSexo(char sexo) {
		this.sexo = sexo;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	public void setFechaNto(String formattedDate) {
		this.fechaNto = formattedDate;		
	}
	public String getFechaNto() {
		return fechaNto;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	
	public void fromData(DataUsuario du){
		this.setNick(du.getNick());
		this.setMail(du.getMail());
		this.setNomCompleto(du.getNomCompleto());
		this.setApellido(du.getApellido());
		this.setPass(du.getPass());
		this.setFechaNto(du.getFechaNto());
		this.setMovil(du.getMovil());
		this.setSexo(du.getSexo());
		this.setEstado(du.getEstado().toString());
	}


	
}
	

